Synthesis of Programs in Computational Logic
نویسندگان
چکیده
Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their speci cations. Especially the last decade has seen a urry of activities including the advent of specialized conferences, such as LOPSTR, covering the synthesis of programs in computational logic. In this paper we analyze and compare three state-of-the-art methods for synthesizing recursive programs in computational logic. The three approaches are constructive/deductive synthesis, schema-guided synthesis, and inductive synthesis. Our comparison is carried out in a systematic way where, for each approach, we describe the key ideas and synthesize a common running example. In doing so, we explore the synergies between the approaches, which we believe are necessary in order to achieve progress over the next decade in this eld.
منابع مشابه
Logic Program Synthesis in a Higher-Order Setting
We describe a system for the synthesis of logic programs from specifications based on higher-order logical descriptions of appropriate refinement operations. The system has been implemented within the proof planning system λClam . The generality of the approach is such that its extension to allow synthesis of higher-order logic programs was straightforward. Some illustrative examples are given....
متن کاملImplementing Extended Structural Synthesis of Programs
We discuss logic and specification language of a program synthesizer for Java intended for dynamic synthesis of services. We introduce metainterfaces as logical specifications of classes. They can be used in two ways: as specifications of computational usage of classes or as specifications of new classes composed from metaclasses – the classes already supplied with metainterfaces. The specifica...
متن کاملTransformation Systems and Nondeclarative Properties
Program transformation systems are applied both in program synthesis and in program optimization. For logic programs the “logic” component makes transformations very natural and easy to be studied formally. But, when we move to Prolog programs, the “control” component cannot be ignored. In particular we need to cope with termination properties which are essential for ensuring the reachability o...
متن کاملOn the Semantics of Logic Program Composition
This paper aims at offering an insightful synthesis of different compositional semantics for logic program composition which have been developed in the literature. In particular, we will analyse the notions of program equivalence, compositionality, and full abstraction for logic programs. We will show how the notion of supported interpretation provides a unifying compositional model-theoretic c...
متن کاملOptimization of Quantum Cellular Automata Circuits by Genetic Algorithm
Quantum cellular automata (QCA) enables performing arithmetic and logic operations at the molecular scale. This nanotechnology promises high device density, low power consumption and high computational power. Unlike the CMOS technology where the ON and OFF states of the transistors represent binary information, in QCA, data is represented by the charge configuration. The primary and basic devic...
متن کامل